-
Notifications
You must be signed in to change notification settings - Fork 683
[DC-150] refactor Account shared pointer #12311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
refactored CheckServerJobFactory to take a raw account pointer. Also removed the parent arg to the factory as it's fairly useless adjusted the parenting of the one-off nam created in the factory to be sure it is parented by the job, so it is cleaned up along with the job. minimal update to oauth to deal with the new factory interface
also cleaned up some additional accessors in the abstract network job
…count, and got rid of account member for DiscoverySingleDirectoryJob as it was never used
… state to the spacesmanager as that was all that was needed eliminated more accessors to get the account, replaced more accountptr with just account*. identified cases where the account dep can be removed completely with correct refactoring to make jobs only run in controllers/managers (where it's reasonable). removed no longer used deprecated function from SpacesManager
…d setAccountStatus function. Now the account status handling is much safer and clearer.
…of a qset of accountptr instances I changed it to a hash of uuid -> QPointer<account> I think we can actually replace this with a qset of defaultSyncRoot since the roots are unique to the account, and that is all the class needs to function, but don't want to get too far off track with this pr so do that another time
…used directly by subclasses updated fetchServerSettings and discovery classes
…ntly vfs tests don't pass - I am pushing this so I can pull the vfs changes
…fs - still need to turn it into a qpointer and check for nulls but it works now (local tests passed too) so should be no problem.
… gone. also did some basic cleanup on some includes as well as updating to #pragma once where I ran into it
|
testing completed before requesting review: basic account creation/logout and in/reload from config and account deletion with ocis and kw "speed tests" with rapid account deletion or quit on kw which is slow enough to hit before all spaces are really set up/synced. This yielded some of the typical weird crashes related to having the vfs pointer in some invalid state (in folder instance). Most likely the vfs pointer has been created/deleted at this point but key is it's not null, so we can't even check it before it blows up. This is especially weird as the vfs pointer is shared? I only found one missing/crashing account related ptr check and fixed it, but the rest are "old news, the app does not shut down cleanly" problems. basic tests with syncing files/folders over vfs with kiteworks, and using vfs as well as non-vfs with ocis nothing appears to be out of order on windows so I'm cutting it loose. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested on linux 👍
see https://kiteworks.atlassian.net/browse/DC-150